課程資訊
課程名稱
軟體規格與驗証
SOFTWARE SPECIFICATION AND VERIFICATION 
開課學期
96-1 
授課對象
管理學院  資訊管理學系  
授課教師
蔡益坤 
課號
IM7079 
課程識別碼
725 U3220 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期三2,3,4(9:10~12:10) 
上課地點
管二302 
備註
本課程中文授課,使用英文教科書。
總人數上限:60人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

We shall seek to strike a balance between depth and breadth, covering both the foundations and some of the more successful formalisms, techniques, and tools. Below is a tentative list of topics and their schedule:
• Introduction (.5 week: 9/19a)
• Formal Logic: Propositional and First-Order Logics (1.5 weeks: 9/19b, 9/26)
• Verification of Sequential Programs: Hoare Logic (1 week: 10/3)
• Predicate Transformers and Program Derivation (1 week: 10/17)
• Tool Support: Why, Spec# (1 week: 10/24)
• Procedures + Object Orientation (1 week: 10/31)
• Data Refinement + Formal Methods: Z, VDM, and B (3 weeks: 11/7, 11/14, 11/21)
• Concurrent, Reactive Systems: Owicki-Gries Method, UNITY, Linear Temporal Logic (2 weeks: 11/28, 12/5)
• Modular/Compositional Reasoning (1 week: 12/12)
• Simply-Typed Lambda Calculus + the Coq Proof Assistant (1 week: 12/19)
• Polymorphic Types + the Coq Proof Assistant (1 week: 12/26)
• Final (2008/01/02)
• Selected Topics: Proof-Carrying Code (1 week: 2008/01/09)
• Selected Topics: Separation Logic (1 week: 2008/01/16)
 

課程目標
This is an introductory course on formal software specification and verification, covering various formalisms and methods for specifying the properties of a software program and for verifying that the program meets its specification. We will focus on deductive (theorem proving) methods. A separate, complementary course entitled “Automatic Verification” covers algorithmic (model checking) methods. 
課程要求
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題